﻿using System;
namespace Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg {
    
    
    public partial class OmandType : global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IOmandType {
        
        private decimal @__suurus;
        
        private global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XOmandiliik @__omandiliik;
        
        private global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XIsikuroll @__roll;
        
        private System.Collections.Generic.List<global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IKapitaliOmanikType> @__omanikud = new System.Collections.Generic.List<global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IKapitaliOmanikType>();
        
        private global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IHyLiikmesusType @__liikmesus;
        
        private string @__kontakt;
        
        public OmandType() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public OmandType(decimal @suurus, global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XOmandiliik @omandiliik, global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XIsikuroll @roll, System.Collections.Generic.List<global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IKapitaliOmanikType> @omanikud, global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IHyLiikmesusType @liikmesus, string @kontakt) {
            this.@__suurus = @suurus;
            this.@__omandiliik = @omandiliik;
            this.@__roll = @roll;
            this.@__omanikud = @omanikud;
            this.@__liikmesus = @liikmesus;
            this.@__kontakt = @kontakt;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public OmandType(decimal @suurus, global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XOmandiliik @omandiliik, global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XIsikuroll @roll, System.Collections.Generic.List<global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IKapitaliOmanikType> @omanikud) {
            this.@__suurus = @suurus;
            this.@__omandiliik = @omandiliik;
            this.@__roll = @roll;
            this.@__omanikud = @omanikud;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected OmandType(IOmandType @omandType) {
            this.@__suurus = @omandType.Suurus;
            this.@__omandiliik = @omandType.Omandiliik;
            this.@__roll = @omandType.Roll;
            this.@__omanikud = @omandType.Omanikud;
            this.@__liikmesus = @omandType.Liikmesus;
            this.@__kontakt = @omandType.Kontakt;
        }
        
        public virtual decimal Suurus {
            get {
                return this.@__suurus;
            }
            set {
                this.@__suurus = value;
            }
        }
        
        public virtual global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XOmandiliik Omandiliik {
            get {
                return this.@__omandiliik;
            }
            set {
                this.@__omandiliik = value;
            }
        }
        
        public virtual global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XIsikuroll Roll {
            get {
                return this.@__roll;
            }
            set {
                this.@__roll = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IKapitaliOmanikType> Omanikud {
            get {
                return this.@__omanikud;
            }
            set {
                this.@__omanikud = value;
            }
        }
        
        public virtual global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IHyLiikmesusType Liikmesus {
            get {
                return this.@__liikmesus;
            }
            set {
                this.@__liikmesus = value;
            }
        }
        
        public virtual string Kontakt {
            get {
                return this.@__kontakt;
            }
            set {
                this.@__kontakt = value;
            }
        }
    }
}
